package org.bluedream.comm.utils.excel;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

//描述注解的使用范围，取值于：ElementType(PACKAGE：包、TYPE：[类、接口、枚举、Annotation类型]、CONSTRUCTOR：用于描述构造器、FIELD：描述属性、METHOD：方法
@Target(value = {ElementType.FIELD})
//注解的保存级别：取值于：RetentionPolicy(SOURCE：源文件有效、CLASS：class文件有效、RUNTIME：运行时有效，为RUNTIME时可以被反射读取。
@Retention(value = RetentionPolicy.RUNTIME)
public @interface FieldType {
    //字段类型枚举:ALL:导入导出，IMPORT:仅导入，EXPORT:仅导出
    ExcelType excelType() default ExcelType.ALL;
    //excel字段标题名称
    String excelFieldName();
    //导出时的字段排序，升序！
    int fieldSort() default 0;
    //是否必填字段，用于excel导入
    boolean isRequired() default false;
}
